# OpenAPI version identifier - required for OpenAPI 3.0 domains
# (c) Elexon 2022, 2023
#
# MMHS - Data Integration Platform 
# RealCommonBlocks
#
# ----- update -----------------------------------------------------------------------
# July 2023
# Add new reports - REP900, REP901
#
# ------------------------------------------------------------------------------------
# Change history
# ====================================================================================
# Ver   Date           Ref.    Description
# ------------------------------------------------------------------------------------
# 1.6   19/10/2023            Support new release
#                    DIN-684  REP003A - blocks R9015A, R9016A & R9020A below for REP003A are new   
# 1.5.1 09/10/2023            Support new release
#                    DIN 722  Remove Recipient Roles from A0.always object
# 1.5   26/09/2023   DIN-667, DIN-656, DIN-655, DIN-640, DIN-641
# 1.4   25/07/2023   DIN-567, 510, 513, 515, 532, 547, 571 - IR4 updates
#                             CR 19 = REP900 CR27 = REP901
# 1.2   15/05/2023            Further minor ammendments from reviews
# 1.1 - 14/03/2023            All items within blocks are required (align with non nullable change)
# 1.0 - 17/02/2023            Align with DAG signoff
# 0.4   01/02/2023            Add MPID to numerous blocks
# 0.4   25/01/2023            Fix a few typos, ammned required fields for several blocks 
#                             and comment out EZ name 
# 0.3   04/11/2022            Add required elements to the blocks that were missing them them 
#       03/11/2022            Add DI-166 "Supplier Consumption Amendment Reason Code" to B047
#       October 22            Minor changes (non structural) to A0 and M0 blocks
# 0.2 - September 22          Updates following first MHHS Programme review - multiple updates
# 0.1 - August 22             Sent for first MHHS Programme Review
# ====================================================================================


openapi: 3.0.0
info:
  title: Real Common Blocks
  description: Real common blocks 
  version: '1.6'
  

# Dictionary items below:
components:
    
  schemas:
# Common blocks

    S1:
      description: Sender Common block
      type: object
      additionalProperties:
          false        
      properties:
        environmentTag:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-991-Environment-Tag'
        subText:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-977-SubText'
        senderUniqueReference : 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-995-Sender-Unique-Reference'
        senderTimestamp :
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-998-Sender-Timestamp'
        senderDIPID :
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-997-Participant-Sender-DIPID'
        senderRoleID : 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-984-Sender-Role-ID'
        senderCorrelationID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-985-Sender-Correlation-ID'  
        DIPConnectionProviderID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-996-DIP-Connection-Provider-DIPID'

      required: 
        - environmentTag
        - subText
        - senderUniqueReference
        - senderTimestamp  # DIN-448
        - senderDIPID
        - senderCorrelationID
        - DIPConnectionProviderID
        - senderRoleID  # DIN-448


    D0:
      description: DIP Block
      type: object
      additionalProperties:
          false        
      properties:           
        transactionID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-014-DIPTransactionID'
        transactionTimestamp:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-003-DateTime'
        publicationID: 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-986-Publication-ID'
        initialCorrelationID:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-011N-CorrelationID'
        replayIndicator:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-988-Replay-Indicator'
        serviceTicketURL:
# added v0.2 
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-978-Service-Ticket-URL'

      required:
        - transactionID
        - transactionTimestamp
        - publicationID
        - initialCorrelationID
        - replayIndicator
        - serviceTicketURL
          


 # parameters below set by the Sender in response to an initial message 
    R0:
      description: Response Block
      type: object
      additionalProperties:
          false        
      properties:
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-979-Response-Code' 
        responseMessages:
          description: Response message outcomes
          type: array
          items:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-980-Status-Error-Messages'

      required:
        - responseCode
        - responseMessages


    A0:
      description: Addressing block
      type : object
      additionalProperties:
          false        
      properties:
        primaryRecipients:
          description: Primary Recipient - array of Ids; set by Sender
          type : array
          items: 
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-006N-DIPParticipantID'
        secondaryRecipients:
          description: Secondary Recipient - array of Ids; set by DIP
          type : array
          items: 
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-006N-DIPParticipantID'
        always:
          description: Always Recipient - array of Ids; set by DIP
          type : array
# DIN 722 changes below:
#          nullable: false
          items: 
#            anyOf:
#              - $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-009N-DIPParticipantRole'
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataTypes/1.6#/components/schemas/DT-006N-DIPParticipantID'
      required:
        - primaryRecipients
        - secondaryRecipients
        - always


    M0: 
        description: MPAN Core
        type: object
        additionalProperties:
            false        
        properties:
          MPANCore:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-063-MPAN-Core'
          distributorDIPID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-108-Distributor-DIP-ID'
          GSPGroupID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-037-GSP-Group-ID'

        required:
          - MPANCore
          - distributorDIPID
          - GSPGroupID
          
    M1: 
        description: Principal MPAN 
        type: object
        additionalProperties:
            false        
        properties:
          principalMPAN:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-073-Principal-MPAN'
          distributorDIPID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-108-Distributor-DIP-ID'
          GSPGroupID:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-037-GSP-Group-ID'

        required:
          - principalMPAN
          - distributorDIPID
          - GSPGroupID

              

    P01: 
        description: Publication Info
        type: object
        additionalProperties:
            false        
        properties:
            publicationDescription:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-960-Publication-Description'
            publicationVersionID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-961-Publication-Version-ID'
            publicationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-962-Publication-Date'
        required:
            - publicationDescription
            - publicationVersionID
            - publicationDate
            
    P02: 
        description: Distribution Variant
        type: object
        additionalProperties:
            false        
        properties:
            distributionVariantID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-963-Distribution-Variant-ID'
            distributionVariantName:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-964-Distribution-Variant-Name'
            distributionVariantDescription:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-965-Distribution-Variant-Description'
            distributionVariantVersionID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-966-Distribution-Variant-Version-ID'
            distributionVariantPublicationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-967-Distribution-Variant-Publication-Date'
            distributionVariantFormat:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-968-Distribution-Variant-Format'
            distributionDeliveryFormat:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-969-Distribution-Delivery-Format'
            distributionDeliveryURI:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-970-Distribution-Delivery-URI'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-120-Additional-Information'

        required:
            - distributionVariantID
            - distributionVariantName
            - distributionVariantDescription
            - distributionVariantVersionID
            - distributionVariantPublicationDate
            - distributionVariantFormat
            - distributionDeliveryFormat
            - distributionDeliveryURI
            - additionalInformation

    P03:
          description: Compressed report object for ECS reports
          type: object
          required:
            - compressedReport
          additionalProperties:
              false
          properties:
            compressedReport:
              description: Compressed 64 Bit binary encoded report
              type: string
              format: byte



    B001: 
        description: GSP Effective From 
        type: object
        additionalProperties:
            false        
        properties:
            GSPGroupEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-036-GSP-Group-Effective-From-Date'
        required:
            - GSPGroupEffectiveFromDate


    B002: 
        description: Incoming Supplier Information
        type: object
        additionalProperties:
            false        
        properties:
            incomingSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-803-Incoming-Supplier-DIP-ID'
            incomingSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-200-Incoming-Supplier-MPID'
            supplierEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-086-Supplier-Effective-From-Date'
        required:
            - incomingSupplierDIPID
            - incomingSupplierMPID
            - supplierEffectiveFromDate

    B003: 
        description: Outgoing Supplier Information
        type: object
        additionalProperties:
            false        
        properties:
            outgoingSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-805-Outgoing-Supplier-DIP-ID'
            outgoingSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-201-Outgoing-Supplier-MPID'
            supplierEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-121-Supplier-Effective-To-Date'
        required:   
          - outgoingSupplierDIPID
          - outgoingSupplierMPID
          - supplierEffectiveToDate
                
    B004: 
        description: MPAN CSS Dom Indicator
        type: object
        additionalProperties:
            false        
        properties:
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-030-Domestic-Premise-Indicator'
            domesticPremiseIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-032-Domestic-Premise-Indicator-Effective-From-Date'
        required:
            - domesticPremiseIndicator
            - domesticPremiseIndicatorEffectiveFromDate
            
    B005: 
        description: Incumbent/Outgoing Service Providers
        type: object
        additionalProperties:
            false        
        properties:
            currentMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-809-Current-Metering-Service-DIP-ID'
            currentMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-207-Current-Metering-Service-MPID'
            currentDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-811-Current-Data-Service-DIP-ID'
            currentDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-208-Current-Data-Service-MPID'
                

        required:
            - currentMeteringServiceDIPID   
            - currentMeteringServiceMPID
            - currentDataServiceDIPID
            - currentDataServiceMPID
                
    B006: 
        description: CDC Info
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-021-Customer-Direct-Contract-Metering-Service'
            customerDirectContractMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-140-Customer-Direct-Contract-Metering-Service-DIP-ID'
            customerDirectContractDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-022-Customer-Direct-Contract-Data-Service'
            customerDirectContractDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-138-Customer-Direct-Contract-Data-Service-DIP-ID'
        required:
            - customerDirectContractDataService
            - customerDirectContractMeteringServiceDIPID
            - customerDirectContractMeteringService
            - customerDirectContractDataServiceDIPID
          
    B007: 
        description: New SP Outcome
        type: object
        additionalProperties:
            false        
        properties:
            responseCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-979-Response-Code'
            proposedAppointmentResponseCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-143-Proposed-Appointment-Response-Code'
        required: 
            - responseCode
            - proposedAppointmentResponseCode
                
    B008: 
        description: Metering Service Deappointment Details
        type: object
        additionalProperties:
            false        
        properties:
            deAppointedMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-813-De-Appointed-Metering-Service-DIP-ID'
            deAppointedMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-202-De-Appointed-Metering-Service-MPID'
            meteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-061-Metering-Service-Effective-From-Date'
            meteringServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-815-Metering-Service-Effective-To-Date'
            deAppointmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-819-De-Appointment-Reason-Code'
        required:
            - deAppointedMeteringServiceDIPID
            - deAppointedMeteringServiceMPID
            - meteringServiceEffectiveFromDate
            - meteringServiceEffectiveToDate
            - deAppointmentReasonCode    
            
    B009: 
        description: Data Service DeAppointment Details
        type: object
        additionalProperties:
            false        
        properties:
            deAppointedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-816-De-Appointed-Data-Service-DIP-ID'
            deAppointedDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-203-De-Appointed-Data-Service-MPID'
            dataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-023-Data-Service-Effective-From-Date'
            dataServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-818-Data-Service-Effective-To-Date'
            deAppointmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-819-De-Appointment-Reason-Code'
        required:
            - deAppointedDataServiceDIPID
            - deAppointedDataServiceMPID
            - dataServiceEffectiveFromDate
            - dataServiceEffectiveToDate
            - deAppointmentReasonCode

        
    B010: 
        description: Metering Service Incoming Service Details
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceMPID
          - incomingMeteringServiceEffectiveFromDate


    B011: 
        description: DataService Incoming Service Details
        type: object
        additionalProperties:
            false        
        properties:
            incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
            incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-205-Incoming-Data-Service-MPID'
            incomingDataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'
        required:
          - incomingDataServiceDIPID
          - incomingDataServiceMPID
          - incomingDataServiceEffectiveFromDate

    B012: 
        description: Service Provider Appointment Requesting Supplier 
        type: object
        additionalProperties:
            false        
        properties:
            serviceProviderAppointmentRequestingSupplierDIPID:         
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-847-Service-Provider-Appointment-Requesting-Supplier-DIP-ID'
            serviceProviderAppointmentRequestingSupplierMPID:         
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-206-Service-Provider-Appointment-Requesting-Supplier-MPID'
                                                                                                              
        required:
          - serviceProviderAppointmentRequestingSupplierDIPID
          - serviceProviderAppointmentRequestingSupplierMPID
    B013: 
        description: CSS Registration Request Id
        type: object
        properties:
            CSSRegistrationRequestID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-849-CSS-Registration-Request-ID'
        required:
          - CSSRegistrationRequestID
          
    B014: 
        description: Metering Service Active
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:                                                        
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            contractReferenceMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-019-Contract-Reference-Metering-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-800-Appointment-Scenario'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceEffectiveFromDate
          - incomingMeteringServiceMPID
          - contractReferenceMeteringService
          - appointmentScenario
          

                
    B015: 
        description: DataService Incoming (Active)
        type: object
        additionalProperties:
            false        
        properties:
           incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-205-Incoming-Data-Service-MPID'        
           incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
           incomingDataServiceEffectiveFromDate:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'     
           contractReferenceDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-020-Contract-Reference-Data-Service'
           appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-800-Appointment-Scenario'
           traditionalFallBackReadFrequency:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-126-Traditional-Fall-Back-Read-Frequency'
        
        required:
          - incomingDataServiceMPID
          - incomingDataServiceDIPID
          - incomingDataServiceEffectiveFromDate
          - contractReferenceDataService
          - appointmentScenario
          - traditionalFallBackReadFrequency
          
                
    B016: 
        description: MeteringService Partner Service
        type: object
        additionalProperties:
            false        
        properties:
            incomingMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-822-Incoming-Metering-Service-DIP-ID'
            incomingMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-204-Incoming-Metering-Service-MPID'
            incomingMeteringServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-824-Incoming-Metering-Service-Effective-From-Date'
        required:
          - incomingMeteringServiceDIPID
          - incomingMeteringServiceMPID
          - incomingMeteringServiceEffectiveFromDate
        
                
    B017: 
        description: Data Service Partner Service
        type: object
        additionalProperties:
            false        
        properties:
            incomingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-825-Incoming-Data-Service-DIP-ID'
            incomingDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-205-Incoming-Data-Service-MPID'
            incomingDataServiceEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-827-Incoming-Data-Service-Effective-From-Date'
        required:
          -  incomingDataServiceDIPID
          -  incomingDataServiceMPID
          -  incomingDataServiceEffectiveFromDate
        

    B018: 
        description: SDS Nominated MDR
        type: object
        additionalProperties:
            false        
        properties:
            SDSNominatedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-839-SDS-Nominated-MDR-DIP-ID'
            SDSNominatedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-216-SDS-Nominated-MDR-MPID'
            SDSNominatedMDRRequestedEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-841-SDS-Nominated-MDR-Requested-Effective-From-Date'
        required:
          - SDSNominatedMDRDIPID
          - SDSNominatedMDRMPID
          - SDSNominatedMDRRequestedEffectiveFromDate
          
    B019: 
        description: Assigned MDR
        type: object
        additionalProperties:
            false        
        properties:
            assignedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
            assignedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-209-Assigned-MDR-MPID'
            assignedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'
        required:
          - assignedMDRDIPID
          - assignedMDRMPID
          - assignedMDREffectiveFromDate

    B020: 
        description: MeteringService Cust Direct Set
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractMeteringServiceDIPID:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-140-Customer-Direct-Contract-Metering-Service-DIP-ID'
               # updated DIN 689
            customerDirectContractMeteringServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-145-Customer-Direct-Contract-Metering-Service-Effective-To-Date'
        required:
          - customerDirectContractMeteringServiceDIPID
          - customerDirectContractMeteringServiceEffectiveToDate
          
                
    B021: 
        description: DataService Cust Direct Set
        type: object
        additionalProperties:
            false        
        properties:
            customerDirectContractDataServiceDIPID:
               $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-138-Customer-Direct-Contract-Data-Service-DIP-ID'
            customerDirectContractDataServiceEffectiveToDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-146-Customer-Direct-Contract-Data-Service-Effective-To-Date'
        required:
          - customerDirectContractDataServiceDIPID
          - customerDirectContractDataServiceEffectiveToDate

    B022: 
        description: MPAN Address
        type: object
        additionalProperties:
            false        
        properties:
            meteringPointPostcode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-010-Metering-Point-Postcode'
            addressLine1:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-001-Address-Line-1'
            addressLine2:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-002-Address-Line-2'
            addressLine3:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-003-Address-Line-3'
            addressLine4:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-004-Address-Line-4'
            addressLine5:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-005-Address-Line-5'
            addressLine6:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-006-Address-Line-6'
            addressLine7:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-007-Address-Line-7'
            addressLine8:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-008-Address-Line-8'
            addressLine9:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-009-Address-Line-9'
        required:
          - meteringPointPostcode
          - addressLine1
          - addressLine2
          - addressLine3
          - addressLine4
          - addressLine5
          - addressLine6
          - addressLine7
          - addressLine8
          - addressLine9


    B023: 
        description: MPAN Connection Info
        type: object
        additionalProperties:
            false        
        properties:
            connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'
            connectionTypeEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-016-Connection-Type-Indicator-Effective-From-Date'
# Removed fields below for V0.3
# added fields for v 1.1
            energyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-035-Energy-Direction'
            meteredIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-127-Metered-Indicator'
        required:
          - connectionTypeIndicator
          - connectionTypeEffectiveFromDate
          - energyDirection
          - meteredIndicator
        
    B024: 
        description: MPAN DUOS Tariff ID
        type: object
        additionalProperties:
            false        
        properties:
            DUOSTariffID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-128-DUOS-Tariff-ID'
            DUOSTariffIDEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-129-DUOS-Tariff-ID-Effective-From-Date'
        required:
          - DUOSTariffID
          - DUOSTariffIDEffectiveFromDate
          
    B025: 
        description: MPAN Energisation Info
        type: object
        properties:
            energisationStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-033-Energisation-Status'
            energisationStatusEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-034-Energisation-Status-Effective-From-Date'
        required:
          - energisationStatus
          - energisationStatusEffectiveFromDate
        
    B026: 
        description: MPAN Segment Info
        type: object
        additionalProperties:
            false        
        properties:
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-050-Market-Segment-Indicator'
            marketSegmentIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-051-Market-Segment-Indicator-Effective-From-Date'
        required:
          - marketSegmentIndicator
          - marketSegmentIndicatorEffectiveFromDate
                
    B027: 
        description: Assumed Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-148-Annual-Consumption'
            annualConsumptionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-149-Annual-Consumption-Effective-From-Date'
            annualConsumptionQualityIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-150-Annual-Consumption-Quality-Indicator'
        required:
          - annualConsumption
          - annualConsumptionEffectiveFromDate
          - annualConsumptionQualityIndicator
                
    B028: 
        description: MPAN Dom Premise Indicator 
        type: object
        additionalProperties:
            false        
        properties:
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-030-Domestic-Premise-Indicator'
            domesticPremiseIndicatorEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-032-Domestic-Premise-Indicator-Effective-From-Date'
   
    # Consent Removed from B028
    
    #        consentGranularity:
    #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-017-Consent-Granularity'
    #        consentGranularityEffectiveFromDate:
    #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-018-Consent-Granularity-Effective-From-Date'
        
        required:
          - domesticPremiseIndicator
          - domesticPremiseIndicatorEffectiveFromDate
    #      - consentGranularity
    #      - consentGranularityEffectiveFromDate
          
                
    B029: 
        description: DCC Enrolment Status
        type: object
        additionalProperties:
            false        
        properties:
            DCCServiceFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-025-DCC-Service-Flag'
            DCCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-026-DCC-Effective-From-Date'
        required:
          - DCCServiceFlag
          - DCCEffectiveFromDate
                
    B030: 
        description: IHD Info
        type: object
        additionalProperties:
            false        
        properties:
            IHDInstallStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-137-IHD-Install-Status'
            IHDEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-136-IHD-Effective-From-Date'
                
        required:
           - IHDInstallStatus 
           - IHDEffectiveFromDate

    B031: 
        description: SMSO Info
        type: object
        additionalProperties:
            false        
        properties:
            SMSOID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-134-SMSO'
            SMSOEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-135-SMSO-Effective-From-Date'
        required:
            - SMSOID
            - SMSOEffectiveFromDate
                
    B032: 
        description: MPAN Legacy info
        type: object
        additionalProperties:
            false        
        properties:
            profileClass:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-122-Profile-Class'
            profileClassEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-124-Profile-Class-Effective-From-Date'
            SSC:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-123-SSC'
            SSCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-125-SSC-Effective-From-Date'
        required:
        - profileClass
        - profileClassEffectiveFromDate
        - SSC
        - SSCEffectiveFromDate
            
    B033: 
        description: MPAN Meter info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            modifiedMeterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-060-Modified-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-059-Meter-Type'
            meterManufacturer:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-048-Meter-Manufacturer'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - modifiedMeterID
          - meterType
          - meterManufacturer
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          
                
    B034: 
        description: MAP Info
        type: object
        additionalProperties:
            false        
        properties:
            meterAssetProviderID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-055-Meter-Asset-Provider-ID'
            meterAssetProviderEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-054-Meter-Asset-Provider-Effective-From-Date'
        required:
          - meterAssetProviderID
          - meterAssetProviderEffectiveFromDate
 
    B035: 
        description: Linked Import/Export MPAN Info
        type: object
        additionalProperties:
            false        
        properties:
            linkedImportExportMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-038-Linked-ImportExport-MPAN'
            linkedMPANEnergyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-151-Linked-MPAN-Energy-Direction'
            importExportMPANSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-801-ImportExport-MPAN-Supplier-DIP-ID'
            importExportMPANSupplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-212-ImportExport-MPAN-Supplier-MPID'
        required: 
          - linkedImportExportMPAN
          - linkedMPANEnergyDirection
          - importExportMPANSupplierDIPID
          - importExportMPANSupplierMPID
          
              
    B036: 
        description: Linked Import/Export Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-059-Meter-Type'
            meterManufacturer:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-048-Meter-Manufacturer'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - meterManufacturer
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          
    B037: 
        description: Linked Related MPAN Info
        type: object
        additionalProperties:
            false        
        properties:
            primaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-075-Primary-MPAN'
            secondaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-079-Secondary-MPAN'
        required:
          - primaryMPAN
          - secondaryMPAN
          
    B038: 
        description: Linked Related Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-059-Meter-Type'
            meterManufacturer:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-048-Meter-Manufacturer'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - meterManufacturer
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate


    B039: 
        description: Removed Meter Info
        type: object
        additionalProperties:
            false        
        properties:
            meterIDRemoved:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-053-Meter-ID-Removed'
            meterRemovalDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-058-Meter-Removal-Date'
        required:
          - meterIDRemoved
          - meterRemovalDate
                
    B040: 
        description: Failed Change to Energisation
        type: object
        additionalProperties:
            false        
        properties:
            failureEnergiseDeEnergiseReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-097-Failure-Energise-De-Energise-Reason-Code'
            siteVisitCheckCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-096-Site-Visit-Check-Code'
            natureofMaintenanceEnergisationStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-092-Nature-of-Maintenance-Energisation-Status'
            additionalInformationSiteVisit:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-093-Additional-Information-SiteVisit'
        required:
          - failureEnergiseDeEnergiseReasonCode
          - siteVisitCheckCode
          - natureofMaintenanceEnergisationStatus
          - additionalInformationSiteVisit
          
    B041: 
        description: Disconnection Info
        type: object
        additionalProperties:
            false        
        properties:
            disconnectionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-027-Disconnection-Effective-From-Date'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-120-Additional-Information'
        required:
          - disconnectionEffectiveFromDate
          - additionalInformation
          
    B042: 
        description: CSS De-Registration
        type: object
        additionalProperties:
            false        
        properties:
            CSSMPANDeRegistrationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-077-CSS-RMP-DeActivation-Date'
        required:
          - CSSMPANDeRegistrationDate

    B043: 
        description: Settlement Impacted Parties
        type: object
        additionalProperties:
            false        
        properties:
            settlementImpactedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-155-Settlement-Impacted-Data-Service-DIP-ID'
            settlementImpactedSupplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-157-Settlement-Impacted-Supplier-DIP-ID'
        required:
          - settlementImpactedDataServiceDIPID
          - settlementImpactedSupplierDIPID
        
                
    B044: 
        description: Issuing Data Service
        type: object
        additionalProperties:
            false        
        properties:
            issuingDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-845-Issuing-Data-Service-DIP-ID'

        required:
          - issuingDataServiceDIPID
          
    B045: 
        description: MQ ID
        type: object
        additionalProperties:
            false        
        properties:
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-052-Measurement-Quantity-ID'
        required:
          - measurementQuantityID
          
    B046: ##
        description: Settlement Day
        type: object
        additionalProperties:
            false        
        properties:
            settlementDayDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-101-Settlement-Day-Date'
            periodDuration:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-081-Settlement-Period-Duration'
        required:
          - settlementDayDate
          - periodDuration

    B047: 
        description: Settlement Period Consumption Data
        type: object
        additionalProperties:
            false        
        properties:
#            settlementPeriodEffectiveToDateTime:
            sp:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
#           periodConsumptionValue:
            v:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-147-Period-Consumption-Value'
#           settlementPeriodQualityIndicator:
            q:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-083-Settlement-Period-Quality-Indicator'
#            estimationReasonCode:
            e:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-076-Estimation-Reason-Code'
#            supplierConsumptionAmendmentReasonCode:
            arc:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-166-Supplier-Consumption-Amendment-Reason-Code'
                
        required:
          - sp 
          - v
          - q
          - e
          - arc
          
        
    B048: 
    # B048 descrepancy between IF-013 & IF-016
        description: Settlement Period Consumption Defaulted Data
        type: object
        additionalProperties:
            false        
        properties:
            settlementPeriodEffectiveToDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
            defaultedSPConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-153-Defaulted-SP-Consumption'
            defaultLoadShapeFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-154-Default-Load-Shape-Flag'
        required:
          - settlementPeriodEffectiveToDateTime
          - defaultedSPConsumption
          - defaultLoadShapeFlag

    B049: 
        description: Settlement Period Run Info
        type: object
        additionalProperties:
            false        
        properties:
            settlementRunExecutionDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-159-Settlement-Run-Execution-Date'
            settlementCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-160-Settlement-Code'
            runNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-161-Run-Number'
        required:
          - settlementRunExecutionDate
          - settlementCode
          - runNumber  
          
    B050: 
        description: CCC Determination Data
        type: object
        additionalProperties:
            false        
        properties:
#            connectionTypeIndicator:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'
#            energyDirection:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-035-Energy-Direction'
#           above removed, DI-052 added 9/11
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-052-Measurement-Quantity-ID'
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-050-Market-Segment-Indicator'
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-030-Domestic-Premise-Indicator'
            consumptionComponentClassID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-300-Consumption-Component-Class-ID'            
            consumptionComponentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-080-Consumption-Component-Indicator'
        required:
          - measurementQuantityID
          - marketSegmentIndicator
          - domesticPremiseIndicator
          - consumptionComponentClassID
          - consumptionComponentIndicator
          
    B051: 
        description: LS Criteria / Grouping
        type: object
        additionalProperties:
            false        
        properties:
            loadShapeGSPGroupID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-039-Load-Shape-GSP-Group-ID'
            connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'
            marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-050-Market-Segment-Indicator' 
            loadShapeDomesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-031-Load-Shape-Domestic-Premise-Indicator'
            measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-052-Measurement-Quantity-ID'
     # annual loadshape total moved to B054
     #       annualLoadShapeTotal:
     #            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-040-Annual-Load-Shape-Total'
        required:
          - loadShapeGSPGroupID
          - connectionTypeIndicator
          - marketSegmentIndicator
          - loadShapeDomesticPremiseIndicator
          - measurementQuantityID
     
          
    B052: 
        description: LS SP Info
        type: object
        additionalProperties:
            false        
        properties:
            sp:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-082-Settlement-Period-Effective-To-DateTime'
            loadShapePeriodValue:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-102-Load-Shape-Period-Value'
            defaultLoadShapeFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-154-Default-Load-Shape-Flag'
            
        required:
          - sp
          - loadShapePeriodValue
          - defaultLoadShapeFlag
          
    B053: 
        description: LS Total Info
        type: object
        additionalProperties:
            false        
        properties:
            loadShapeDayTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-046-Load-Shape-Day-Total'
            loadShapeDayPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-045-Load-Shape-Day-Peak-Total'
            loadShapeDayOffPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-044-Load-Shape-Day-Off-Peak-Total'
            loadShape7DayRollingTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-043-Load-Shape-7-Day-Rolling-Total'
            loadShape7DayRollingPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-042-Load-Shape-7-Day-Rolling-Peak-Total'
            loadShape7DayRollingOffPeakTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-041-Load-Shape-7-Day-Rolling-Off-Peak-Total'
        required:
          - loadShapeDayTotal
          - loadShapeDayPeakTotal
          - loadShapeDayOffPeakTotal
          - loadShape7DayRollingTotal
          - loadShape7DayRollingPeakTotal
          - loadShape7DayRollingOffPeakTotal

    B054: 
        description: LS Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualLoadShapeTotal:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-040-Annual-Load-Shape-Total'
        required:
          - annualLoadShapeTotal
          
    B057: 
        description: Supplier Notifcation Info
        type: object
        additionalProperties:
            false        
        properties:
            supplierNotificationEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-100-Supplier-Notification-Effective-From-Date'
            supplierNotificationExpiryDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-098-Supplier-Notification-Expiry-Date'
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-120-Additional-Information'
        required:
          - supplierNotificationEffectiveFromDate
          - supplierNotificationExpiryDate
          - additionalInformation
        
    B058: 
        description: Supplier SNAC
        type: object
        additionalProperties:
            false        
        properties:
            supplierNominatedAnnualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-152-Supplier-Nominated-Annual-Consumption'
        required:
          - supplierNominatedAnnualConsumption

    B059: 
        description: Annual Consumption
        type: object
        additionalProperties:
            false        
        properties:
            annualConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-148-Annual-Consumption'
            annualConsumptionEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-149-Annual-Consumption-Effective-From-Date'
            annualConsumptionQualityIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-150-Annual-Consumption-Quality-Indicator'
        required:
          - annualConsumption
          - annualConsumptionEffectiveFromDate
          - annualConsumptionQualityIndicator
        

    B060: 
        description: Registration Reminder Add Info
        type: object
        additionalProperties:
            false        
        properties:
            additionalInformation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-120-Additional-Information'
        required:
          - additionalInformation

    B062: 
        description: Related Added MPAN
        type: object
        additionalProperties:
            false        
        properties:
            primaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-075-Primary-MPAN'
            secondaryMPAN:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-079-Secondary-MPAN'
        required:
          - primaryMPAN
          - secondaryMPAN

    B063: 
        description: Related Removed MPAN
        type: object
        additionalProperties:
            false        
        properties:
            MPANCore:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-063-MPAN-Core'
        required:
          - MPANCore

    B064: 
        description: Cumulative Read
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            cumulativeRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-088-Cumulative-Register-Reading'
            cumulativeRegisterReadingDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-089-Cumulative-Register-Reading-DateTime'
            readingMethod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-094-Reading-Method'
            siteVisitCheckCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-096-Site-Visit-Check-Code'
        required:
          -  meterID
          -  cumulativeRegisterReading
          -  cumulativeRegisterReadingDateTime
          -  readingMethod
          -  siteVisitCheckCode



    B065: 
        description: Configurable Registers
        type: object
        additionalProperties:
            false        
        properties:
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            configurableRegisterReadingDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-099-Configurable-Register-Reading-Date'
            configurableRegisterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-103-Configurable-Register-ID'
            configurableRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-104-Configurable-Register-Reading'
        required:
            - meterID
            - configurableRegisterReadingDate
            - configurableRegisterID
            - configurableRegisterReading

# B066 swapped defintions 16/12/22
    B066:
      description: SDS MDR Outcome
      type: object
      additionalProperties:
            false        
      properties:
        assignedMDRDIPID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
        assignedMDRMPID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-209-Assigned-MDR-MPID'
        assignedMDREffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-979-Response-Code' 
        responseMessage:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-980-Status-Error-Messages' 

      required:
        - assignedMDRDIPID
        - assignedMDRMPID
        - assignedMDREffectiveFromDate
        - responseCode
        - responseMessage

# B067 added 05/04/22
    B067:
      description: Connection Type
      type: object
      additionalProperties:
            false        
      properties:
        connectionTypeIndicator:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'        
        connectionTypeEffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-016-Connection-Type-Indicator-Effective-From-Date'
      required:
        - connectionTypeIndicator
        - connectionTypeEffectiveFromDate
        

    B068:
      description: MPAN Consent Info 
      type: object
      additionalProperties:
            false        
      properties:
        consentGranularity:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-017-Consent-Granularity'        
        consentGranularityEffectiveFromDate:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-018-Consent-Granularity-Effective-From-Date'
      required:
        - consentGranularity
        - consentGranularityEffectiveFromDate
      
      
        
    B069:
      description: Supplier Advisory Notification Meter ID ( Mandatory for SN-RemoteEnabled and SN-RemoteDisabled)
      type: object
      additionalProperties:
            false        
      properties:
        meterID:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'        
      required:
        - meterID
    
        

    B070: 
        description: Proposed MeteringService
        type: object
        additionalProperties:
            false        
        properties:
            proposedMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-828-Proposed-Metering-Service-DIP-ID'
            proposedMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-213-Proposed-Metering-Service-MPID'
            proposedMeteringServiceDIPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-830-Proposed-Metering-Service-DIP-Effective-From-Date'
            contractReferenceMeteringService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-019-Contract-Reference-Metering-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-800-Appointment-Scenario'
        required:
          - proposedMeteringServiceDIPID
          - proposedMeteringServiceMPID
          - proposedMeteringServiceDIPEffectiveFromDate
          - contractReferenceMeteringService
          - appointmentScenario
          

    B071: 
        description: Proposed Data Service
        type: object
        additionalProperties:
              false        
        properties:
            proposedDataServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-831-Proposed-Data-Service-DIP-ID'
            proposedDataServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-214-Proposed-Data-Service-MPID'
            proposedDataServiceDIPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-833-Proposed-Data-Service-DIP-Effective-From-Date'
            contractReferenceDataService:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-020-Contract-Reference-Data-Service'
            appointmentScenario:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-800-Appointment-Scenario'
            supplierNominatedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-834-Supplier-Nominated-MDR-DIP-ID'
            supplierNominatedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-215-Supplier-Nominated-MDR-MPID'
            supplierNominatedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-836-Supplier-Nominated-MDR-Effective-From-Date'
            supplierProposedConsentGranularity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-838-Supplier-Proposed-Consent-Granularity'
            supplierProposedDomesticIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-837-Supplier-Proposed-Domestic-Indicator'
            traditionalFallBackReadFrequency:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-126-Traditional-Fall-Back-Read-Frequency'
        required:
            - proposedDataServiceDIPID
            - proposedDataServiceMPID
            - proposedDataServiceDIPEffectiveFromDate
            - contractReferenceDataService
            - appointmentScenario
            - supplierNominatedMDRDIPID
            - supplierNominatedMDRMPID
            - supplierNominatedMDREffectiveFromDate
            - supplierProposedConsentGranularity
            - supplierProposedDomesticIndicator
            - traditionalFallBackReadFrequency

    B072: 
        description: Incumbent MeteringService
        type: object
        additionalProperties:
            false        
        properties:
            incumbentMeteringServiceDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-807-Incumbent-Metering-Service-DIP-ID'
            incumbentMeteringServiceMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-217-Incumbent-Metering-Service-MPID'
        required:
          - incumbentMeteringServiceDIPID
          - incumbentMeteringServiceMPID
          
    B073: 
        description: Supplier Consumption Amendment Request
        type: object
        additionalProperties:
            false        
        properties:
            consumptionAmendmentSupplierReference:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-162-Consumption-Amendment-Supplier-Reference'
            consumptionAmendmentPeriodStartDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-163-Consumption-Amendment-Period-Start-Date'
            consumptionAmendmentPeriodEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-164-Consumption-Amendment-Period-End-Date'
            grossRevisedConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-165-Gross-Revised-Consumption'
            arc:       # supplierConsumptionAmendmentReasonCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-166-Supplier-Consumption-Amendment-Reason-Code' 
        required:
          - consumptionAmendmentSupplierReference
          - consumptionAmendmentPeriodStartDate
          - consumptionAmendmentPeriodEndDate
          - grossRevisedConsumption
          - arc
                
    B074:    
        description: MPAN Exiting Meter Info  
        type: object
        additionalProperties:
            false        
        properties:  
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
#            meteringPointPostcode:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-010-Metering-Point-Postcode'
            meterType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-059-Meter-Type'
            meterManufacturer:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-048-Meter-Manufacturer'
            ESMEGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-085-ESME-GUID'
            meterLocation:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-090-Meter-Location'
            numberOfDisplayedRegisterDigits:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-091-Number-Of-Displayed-Register-Digits'
            meterInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-057-Meter-Installation-Date'
        required:
          - meterID
          - meterType
          - meterManufacturer
          - ESMEGUID
          - meterLocation
          - numberOfDisplayedRegisterDigits
          - meterInstallationDate
          

    B075:    
      description: MPAN Exiting Meter Map Info  
      additionalProperties:
            false        
      properties:  
            meterAssetProviderID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-055-Meter-Asset-Provider-ID'
            meterAssetProviderEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-054-Meter-Asset-Provider-Effective-From-Date'
      required:
        - meterAssetProviderID
        - meterAssetProviderEffectiveFromDate
        
# CR23 - 13/10/23 - Create New Block "B076 - MDR Cumulative Reading Information"

    B076:    
      description: MDR Cumulative Reading Information 
      additionalProperties:
            false        
      properties:      
            meterID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-056-Meter-ID'
            cumulativeRegisterReading:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-088-Cumulative-Register-Reading'
            cumulativeRegisterReadingDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-089-Cumulative-Register-Reading-DateTime'

      required:
          -  meterID
          -  cumulativeRegisterReading
          -  cumulativeRegisterReadingDateTime

# CR23 - 18/10/23 - Create New Block "B077 - MDR Reference Date"

    B077:    
      description: MDR Reference Date
      additionalProperties:
            false        
      properties:      
            MDRReferenceDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-196-MDR-Reference-DateTime'

      required:
          -  MDRReferenceDateTime



# new block 19/11/2022 for IF-050
# removed 13/04/23
#    B077:    
#      description: LDSO Maintained Site Technical Info
#      properties:  
#          supplyVoltage:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-170-Supply-Voltage'
#          supplyCapacity:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-171-Supply-Capacity'
#          numberOfPhases:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-172-Number-Of-Phases'

#      required:
#          - supplyVoltage
#          - supplyCapacity
#          - numberOfPhases
          
# new block 19/11/2022 for IF-050
# removed 13/04/23
#    B078:    
#      description: Metering Service Maintained Site Technical Info
#      properties:  
#        CTRatio:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-173-CT-Ratio'
#        CTClass:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-174-CT-Class'
#        CTRating:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-175-CT-Rating'
#        CTDetailsEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-176-CT-Details-Effective-From-Date'
#        VTRatio:      
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-177-VT-Ratio'
#        VTClass:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-178-VT-Class'              
#        VTRating:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-179-VT-Rating'
#        VTDetailsEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-180-VT-Details-Effective-From-Date'
#      required:
#          - CTRatio
#          - CTClass
#          - CTRating
#          - CTDetailsEffectiveFromDate
#          - VTRatio      
#          - VTClass
#          - VTRating
#          - VTDetailsEffectiveFromDate


              
# new block 19/11/2022 for IF-050
# new eff from fields di-168/169 added R4
    B079:    
      description: Meter Point Registration Statuses 
      additionalProperties:
            false        
      properties:         
        RMPStatus:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-130-RMP-Status'
        RMPStatusEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-167-RMPStatus-Effective-From-Date'
        MPStatus:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-131-MP-Status'
        MPStatusEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-168-MPStatus-Effective-From-Date'
      
      required:
          - RMPStatus
          - RMPStatusEffectiveFromDate
          - MPStatus
          - MPStatusEffectiveFromDate

    B080:    
      description: Green Deal Information 
      additionalProperties:
            false        
      properties:         
        greenDealEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-111-Green-Deal-Effective-From-Date'
        greenDealEffectiveToDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-112-Green-Deal-Effective-To-Date'
      required:
          - greenDealEffectiveFromDate
          - greenDealEffectiveToDate

    B081:    
      description: Current Metering Service Details
      additionalProperties:
            false        
      properties:         
        currentMeteringServiceDIPID:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-809-Current-Metering-Service-DIP-ID'
        currentMeteringServiceEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-061-Metering-Service-Effective-From-Date'
      required:

          - currentMeteringServiceDIPID
          - currentMeteringServiceEffectiveFromDate

    B082:    
      description: Current Data Service Details
      additionalProperties:
            false        
      properties:         
        currentDataServiceDIPID:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-811-Current-Data-Service-DIP-ID'
        currentDataServiceEffectiveFromDate:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-023-Data-Service-Effective-From-Date'
      required:
          - currentDataServiceDIPID
          - currentDataServiceEffectiveFromDate

#    B083:    
#      description: Current Supplier Details
#      additionalProperties:
#            false        
#      properties:         
#        currentSupplierDIPID:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-218-Current-Supplier-DIP-ID'
#        currentSupplierEffectiveFromDate:
#              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-086-Supplier-Effective-From-Date'
#      required:
#          - currentSupplierDIPID
#          - currentSupplierEffectiveFromDate


    B090:    
      description: Subsidiary MPAN 
      additionalProperties:
            false        
      properties:         
        subsidiaryMPAN:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-074-Subsidiary-MPAN'
      required:
        - subsidiaryMPAN

    B091:    
      description: MPAN  Relationship Additional Infromation
      properties:         
        additionalInformation:
          $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-120-Additional-Information'
      required:
        - additionalInformation

    B092: 
        description: SDS MDR Outcome
        type: object
        additionalProperties:
            false        
        properties:
            assignedMDRDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-842-Assigned-MDR-DIP-ID'
            assignedMDRMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-209-Assigned-MDR-MPID'
            assignedMDREffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-844-Assigned-MDR-Effective-From-Date'

        required:
            - assignedMDRDIPID
            - assignedMDRMPID
            - assignedMDREffectiveFromDate

    B093:
        description: Comms Hub Info
        type: object
        additionalProperties:
            false        
        properties:
            commsHubActivity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-195-Comms-Hub-Activity'
            commsHubSerialNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-190-Comms-Hub-Serial-Number'
            commsHubGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-191-Comms-Hub-GUID'
            GPFGasGUID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-192-GPF-Gas-GUID'
            commsHubInstallationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-193-Comms-Hub-Installation-Date'
            commsHubFWVersion:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-194-Comms-Hub-FW-Version'
        required:
            - commsHubActivity
            - commsHubSerialNumber
            - commsHubGUID
            - GPFGasGUID
            - commsHubInstallationDate
            - commsHubFWVersion

    B094:
        description: Reverse Migration Notification
        type: object
        additionalProperties:
            false        
        required:
          - MHHSRegimeEndDate
        properties:
            MHHSRegimeEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-500-MHHS-Regime-End-Date'
        


    B095:
        description: Reverse Migration Incoming MOP Details
        type: object
        additionalProperties:
            false        
        required:
            - ReverseMigrationIncomingMOPMPID
            - ReverseMigrationIncomingMOPEffectiveFromDate
        properties:
            ReverseMigrationIncomingMOPMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-501-Reverse-Migration-Incoming-MOP-MPID'
            ReverseMigrationIncomingMOPEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-502-Reverse-Migration-Incoming-MOP-Effective-From-Date'

    B096:
        description: Reverse Migration Incoming DC Details
        type: object
        additionalProperties:
            false        
        required:
            - ReverseMigrationIncomingDCMPID
            - ReverseMigrationIncomingDCEffectiveFromDate
        properties:
            ReverseMigrationIncomingDCMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-503-Reverse-Migration-Incoming-DC-MPID'
            ReverseMigrationIncomingDCEffectiveFromDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-504-Reverse-Migration-Incoming-DC-Effective-From-Date'

    B097:
        description: Offpeak Declaration 
        type: object
        additionalProperties:
            false        
        required:
            - offPeakDeclarationDate
            - offPeakDeclarationProportion
        properties:
            offPeakDeclarationDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-510-Offpeak-Declaration-Date'
            offPeakDeclarationProportion:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-511-Offpeak-Declaration-Proportion'




### nested block definitions ###

    B099:
      description: Response Block
      type: object
      additionalProperties:
            false
      required:
        - responseCode
        - responseMessages
      properties:
        responseCode:
            $ref:  'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-979-Response-Code' 
        responseMessages:
          description: Response message outcomes
          type: array
          items:
            $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-980-Status-Error-Messages'      
                



# Used in INF-014

    B900:
        description: MQID (B045) Settlement Day Consumption periods (B901)
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - settlementDayConsumptionPeriods
        properties:
          MQID:
            $ref: '#/components/schemas/B045'
          settlementDayConsumptionPeriods:
            type: array
            maxItems: 200
            items:
              $ref: '#/components/schemas/B901'

    B901:
        description: Settlement Day (B046) - SP consumption data (multiple child) block (B047)
        type: object
        additionalProperties:
            false        
        required:
            - settlementDay
            - consumptionPeriods
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          consumptionPeriods:
            type: array
            maxItems: 48
            items:
                $ref: '#/components/schemas/B047'

    B902:
        description: MQID (B045) Supplier Consumption Amendment Requests  (B073) #MHHS-DIN-357 Typo
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - supplierConsumptionAmendmentRequests
        properties:
          MQID:
            $ref: '#/components/schemas/B045'
          supplierConsumptionAmendmentRequests:
            type: array
            items:
              $ref: '#/components/schemas/B073'
                

# Used in INF-013
    B920:
        description: MQID (B045) Settlement Day Consumption periods with default (B901)
        type: object
        additionalProperties:
            false        
        required:
          - MQID
          - settlementDayConsumptionPeriods
        properties:
          MQID:
            $ref: '#/components/schemas/B050'
          settlementDayConsumptionPeriods:
            type: array
            items:
              $ref: '#/components/schemas/B922'   


    B922:
        description: Settlement Day (B046) and defaulted data (B048)
        type: object
        additionalProperties:
            false        
        required:
            - settlementDay
            - defaultedConsumptionPeriods
        properties:
          settlementDay:
             $ref: '#/components/schemas/B046'
          defaultedConsumptionPeriods:
             type: array
             items:
                 $ref: '#/components/schemas/B048'


# Used in IF-016

    B921:
        
        description: Settlement Day (B046) - UTC Period Cons B047 and defaulted data (B048)
        type: object
        additionalProperties:
            false        
        required:
          - settlementDay
          - consumptionPeriods
          - defaultedConsumptionPeriods
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          consumptionPeriods:
           type: array
           items:
               $ref: '#/components/schemas/B047'
          defaultedConsumptionPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B048'



## LS parents

    B903:
        description: Load shaping  SP
        type: object
        additionalProperties:
            false        
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          LSGSettlementPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B904'

    B912:
        description: Load shaping Totals
        type: object
        additionalProperties:
            false        
        properties:
          settlementDay:
            $ref: '#/components/schemas/B046'
          LSGTotals:
            type: array
            items:
                $ref: '#/components/schemas/B913'
##


## LS children

    B904:
        description: Load shaping child record SP
        type: object
        additionalProperties:
            false        
        properties:
          LSGroup:
            $ref: '#/components/schemas/B051'
          LSGroupSettlementPeriods:
            type: array
            items:
                $ref: '#/components/schemas/B052'

    B913:
        description: Load shaping child record Totals
        type: object
        additionalProperties:
            false        
        properties:
          LSGroup:
            $ref: '#/components/schemas/B051'
          LSAnnualConsumption:
            $ref: '#/components/schemas/B054'
          LSTTotals:
            type: array
            items:
                $ref: '#/components/schemas/B053'
##
                
                
    B905:
        description: Meter-Map 
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B074'
          existingMAP: 
            $ref:  '#/components/schemas/B075'

# Two vairants of 906 - one where B034 is mandatory, the other its optional
    B906:
        description: Meter-Map History 
        type: object
        required:
            - existingMeter
            - historyMAP
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B033'
          historyMAP:  
            type: array
            items:
              $ref:  '#/components/schemas/B034'

    B906a:
        description: Meter-Map History 
        type: object
        required:
            - existingMeter
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B033'
          historyMAP:  
            type: array
            items:
              $ref:  '#/components/schemas/B034'

              
    B907:
        description: LinkedImpExp-MPAN-Meter-MAP
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B035'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B910'


    B908:
        description: Related-MPAN-Meter-MAP
        type: object
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B037'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B911'

    B910:
        description: Meter details - MAP history 
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B036'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B075'

    B911:
        description: Related Meter details - MAP history 
        type: object
        additionalProperties:
            false        
        properties:
          existingMeter: 
            $ref:  '#/components/schemas/B038'
          historyMAP: 
            type: array
            items:
              $ref:  '#/components/schemas/B075'
              

              

# ECS R blocks #

    R002:
        description :  Settlement Run Info
        type: object
        additionalProperties:
            false        
        properties:
             settlementDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-305-Settlement-Date'
             settlementCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-160-Settlement-Code'
             runNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-161-Run-Number'
        required:
            - settlementDate
            - settlementCode
            - runNumber

    R003 :
        description :   CCC Determination Data
        type: object
        additionalProperties:
            false        
        properties:
             connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'
             measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-052-Measurement-Quantity-ID'
             marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-050-Market-Segment-Indicator'
             domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-030-Domestic-Premise-Indicator'
             consumptionComponentClassID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-300-Consumption-Component-Class-ID'
             consumptionComponentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-080-Consumption-Component-Indicator'
        required:
            - connectionTypeIndicator
            - measurementQuantityID
            - marketSegmentIndicator
            - domesticPremiseIndicator
            - consumptionComponentClassID
            - consumptionComponentIndicator
            
    R006  :
        description :  Embedded LDSO ID
        type: object
        additionalProperties:
            false        
        properties:
             embeddedLDSOID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-483-Embedded-LDSO-ID'
        required:
            - embeddedLDSOID
            
    R007:
        description :  Settlement Run Execution
        type: object
        properties:
             settlementRunExecutionDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-159-Settlement-Run-Execution-Date'
        required:
            - settlementRunExecutionDate


    R009:
        description :  Supplier MPID 
        type: object
        additionalProperties:
            false        
        properties:
             supplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-495-Supplier-MPID'
              # R027  
        required:
            - supplierMPID
                
    R010:
        description :  Tariff Characteristics
        type: object
        additionalProperties:
            false        
        properties:
             DUoSTariffID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-345-DUoS-Tariff-ID'
             DUoSTariffEnergyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-485-DUoS-Tariff-Energy-Direction'
             DUoSTariffDomesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-486-DUoS-Tariff-Domestic-Premise-Indicator'
        required:
            - DUoSTariffID
            - DUoSTariffEnergyDirection
            - DUoSTariffDomesticPremiseIndicator

                
    R011:
        description :  Consumption data by Settlement Period 
        type: object
        additionalProperties:
            false        
        properties:
             settlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
             settlementPeriodDuration:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-484-Settlement-Period-Duration'
             totalUncorrectedVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-347-Total-Uncorrected-Volume'
             totalNumberEnergisedMPANs:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-487-Total-Number-Energised-MPANs'
             totalNumberDeEnergisedMPANs:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-488-Total-Number-De-Energised-MPANs'
        required:
             - settlementPeriod
             - settlementPeriodDuration
             - totalUncorrectedVolume
             - totalNumberEnergisedMPANs
             - totalNumberDeEnergisedMPANs
        
                
    R012:
        description :  Embedded Consumption data by Settlement Period 
        type: object
        additionalProperties:
            false        
        properties:
             settlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
             settlementPeriodDuration:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-484-Settlement-Period-Duration'
             embeddedTotalUncorrectedVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-491-Embedded-Total-Uncorrected-Volume'
             totalNumberEnergisedMPANs:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-487-Total-Number-Energised-MPANs'
             totalNumberDeEnergisedMPANs:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-488-Total-Number-De-Energised-MPANs'
        required:
             - settlementPeriod
             - settlementPeriodDuration
             - embeddedTotalUncorrectedVolume
             - totalNumberEnergisedMPANs
             - totalNumberDeEnergisedMPANs
        
    R013:
        description :  GSP Group
        type: object
        additionalProperties:
            false        
        properties:
             GSPGroupID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-037-GSP-Group-ID'
        required:
              - GSPGroupID


    R015:
        description :  Supplier
        type: object
        additionalProperties:
            false        
        properties:
             supplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-495-Supplier-MPID'
        required:
            - supplierMPID
            
    R016:
        description :  BM Unit Standing Data
        type: object
        additionalProperties:
            false        
        properties:
             BMUnitID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-302-BM-Unit-ID'
             defaultBMUnitFlag:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-357-Default-BM-Unit-Flag'
        required:
             - BMUnitID
             - defaultBMUnitFlag
        
    R017:
        description :  MHHS Consumption Component Class HH Energy
        type: object
        additionalProperties:
            false        
        properties:
             consumptionComponentClassID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-300-Consumption-Component-Class-ID'
             GSPGroupCorrectionScalingWeight:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-325-GSP-Group-Correction-Scaling-Weight'
             connectionTypeIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-015-Connection-Type-Indicator'
             marketSegmentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-050-Market-Segment-Indicator'
             consumptionComponentIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-080-Consumption-Component-Indicator'
        required:
             - consumptionComponentClassID
             - GSPGroupCorrectionScalingWeight
             - connectionTypeIndicator
             - marketSegmentIndicator
             - consumptionComponentIndicator
        
    R018:
        description :  Corrected & Uncorrected Components
        type: object
        additionalProperties:
            false        
        properties:
             settlementDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-305-Settlement-Date'
             settlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
             uncorrectedBMUnitPeriodLevelConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-359-Uncorrected-BM-Unit-Period-Level-Consumption'
             uncorrectedBMUnitPeriodLevelConsumptionLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-360-Uncorrected-BM-Unit-Period-Level-Consumption-Losses'
             correctedComponentConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-362-Corrected-Component-Consumption'
             correctedComponentLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-324-Corrected-Component-Losses'
        required:
            - settlementDate
            - settlementPeriod
            - uncorrectedBMUnitPeriodLevelConsumption
            - uncorrectedBMUnitPeriodLevelConsumptionLosses
            - correctedComponentConsumption
            - correctedComponentLosses
                
    R019:
        description :  Daily Totals Per BM Unit by Consumption Component Class
        type: object
        additionalProperties:
            false        
        properties:
             dailyBMUnitPeriodLevelConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-363-Daily-BM-Unit-Period-Level-Consumption'
             dailyBMUnitPeriodLevelConsumptionLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-364-Daily-BM-Unit-Period-Level-Consumption-Losses'
             dailyCorrectedComponent:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-365-Daily-Corrected-Component'
             dailyCorrectedComponentLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-366-Daily-Corrected-Component-Losses'
        required:
             - dailyBMUnitPeriodLevelConsumption
             - dailyBMUnitPeriodLevelConsumptionLosses
             - dailyCorrectedComponent
             - dailyCorrectedComponentLosses

    # DIN-684 R020 new for REP003A    
    R020:
        description :  Consumption Component Class HH Energy
        type: object
        additionalProperties:
            false        
        properties:
             CCCID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-303-CCC-ID'
             GSPGroupCorrectionScalingWeight:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-325-GSP-Group-Correction-Scaling-Weight'
        required:
             - CCCID
             - GSPGroupCorrectionScalingWeight

    R021:
        description :  Daily Total (2) BM Unit HH  Energy
        type: object
        additionalProperties:
            false        
        properties:
             dailyUncorrectedPeriodBMUnitTotalAllocatedVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-367-Daily-Uncorrected-Period-BM-Unit-Total-Allocated-Volume'
             dailyPeriodBMUnitTotalAllocatedVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-368-Daily-Period-BM-Unit-Total-Allocated-Volume'
             dailyBMUnitMSIDCount:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-492-Daily-BM-Unit-MSID-Count'
        required:
            - dailyUncorrectedPeriodBMUnitTotalAllocatedVolume
            - dailyPeriodBMUnitTotalAllocatedVolume
            - dailyBMUnitMSIDCount
                
                
    R022:
        description :  BM Unit Allocated Demand Disconnection Volume
        type: object
        additionalProperties:
            false        
        properties:
             SettlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
             BMUnitAllocatedDemandDisconnectionVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-341-BM-Unit-Allocated-Demand-Disconnection-Volume'
             BMUnitAllocatedDemandDisconnectionVolumeLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-339-BM-Unit-Allocated-Demand-Disconnection-Volume-Losses'
        required:
            - SettlementPeriod
            - BMUnitAllocatedDemandDisconnectionVolume
            - BMUnitAllocatedDemandDisconnectionVolumeLosses
                
    R023 :
        description :  DDE Daily Total
        type: object
        additionalProperties:
            false        
        properties:
             dailyBMUnitAllocatedDemandDisconnectionVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-369-Daily-BM-Unit-Allocated-Demand-Disconnection-Volume'
             dailyBMUnitAllocatedDemandDisconnectionVolumeLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-370-Daily-BM-Unit-Allocated-Demand-Disconnection-Volume-Losses'
        required:
          - dailyBMUnitAllocatedDemandDisconnectionVolume
          - dailyBMUnitAllocatedDemandDisconnectionVolumeLosses
        
        
    R024 :
        description :  GSP Group Correction Factors
        type: object
        additionalProperties:
            false        
        properties:
             settlementPeriodID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-307-Settlement-Period-ID'
             groupCorrectionFactorImport:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-322-Group-Correction-Factor-Import'
             groupCorrectionFactorExport:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-323-Group-Correction-Factor-Export'
        required:
             - settlementPeriodID
             - groupCorrectionFactorImport
             - groupCorrectionFactorExport
             
    R025:
        description :  Daily Supplier Deemed Take
        type: object
        additionalProperties:
            false        
        properties:
             dailySupplierDeemedTakeforSettlementDay:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-373-Daily-Supplier-Deemed-Take'
        required:
            - dailySupplierDeemedTakeforSettlementDay
            
    R026:
        description :  Supplier Deemed Take Per Settlement Period
        type: object
        additionalProperties:
            false        
        properties:
             SettlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
             supplierDeemedTake:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-327-Supplier-Deemed-Take' 
        required:
            - SettlementPeriod
            - supplierDeemedTake
            
    R027:
        description :  Distributor ID 
        type: object
        additionalProperties:
            false        
        properties:
             distributorID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-029-Distributor-ID'
        required:
            - distributorID



    R028:
        description :  Line Loss LLF ID
        type: object
        additionalProperties:
            false        
        properties:
             LLFID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-301-LLF-ID'
             LLFStatus:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-493-LLF-Status'
        required:
            - LLFID
            - LLFStatus
            
    R029:
        description :  Settlement Date
        type: object
        additionalProperties:
            false        
        properties:
             settlementDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-305-Settlement-Date'
        required:
              - settlementDate
            
#    R030:
#        description :  Line Loss Factors
#        type: object
#        properties:
#             settlementPeriodId:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-307-Settlement-Period-ID'
#             lineLossFactor:
#                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-039-Line-Loss-Factor-Class'
#        required:
#            - settlementPeriodId
#            - lineLossFactor

    R032:
        description :  BM Unit ID
        type: object
        additionalProperties:
            false        
        properties:
             BMUnitID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-302-BM-Unit-ID'
        required:
            - BMUnitID
          
                
    R033:
        description :  Uncorrected Aggregated Volumes
        type: object
        additionalProperties:
            false        
        properties:
             settlementPeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-307-Settlement-Period-ID'
             MSIDCount:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-374-MSID-Count'
             uncorrectedBMUnitPeriodLevelConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-359-Uncorrected-BM-Unit-Period-Level-Consumption'
             uncorrectedBMUnitPeriodLevelConsumptionLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-360-Uncorrected-BM-Unit-Period-Level-Consumption-Losses'
        required:
          - settlementPeriod
          - MSIDCount
          - uncorrectedBMUnitPeriodLevelConsumption
          - uncorrectedBMUnitPeriodLevelConsumptionLosses
                
    R034:
        description :   Daily Totals
        type: object
        additionalProperties:
            false        
        properties:
             dailyUncorrectedBMUnitPeriodLevelConsumption:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-375-Daily-Uncorrected-BM-Unit-Period-Level-Consumption'
             dailyBMUnitPeriodLevelConsumptionLosses:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-364-Daily-BM-Unit-Period-Level-Consumption-Losses'
        required:
          - dailyUncorrectedBMUnitPeriodLevelConsumption
          - dailyBMUnitPeriodLevelConsumptionLosses

    R036:
        description :  BMU Default Data Detail
        type: object
        additionalProperties:
            false        
        properties:
            BMUnitID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-302-BM-Unit-ID'
            detailsOfDefaultDataUsed:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-380-Details-Of-Default-Data-Used'
        required:
            - BMUnitID
            - detailsOfDefaultDataUsed
            
    R039:
        description :  LLF Default Data Detail
        type: object
        additionalProperties:
            false        
        properties:
             detailsofDefaultLLFDataUsed:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-494-Details-of-Default-LLF-Data-Used'
        required:
            - detailsofDefaultLLFDataUsed

    # Used in REP003 & REP006
    R051:
        description :  Demand Disconnection Event Details
        type: object
        additionalProperties:
            false        
        properties:
              demandDisconnectionEventID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-332-Demand-Disconnection-Event-ID'
              DDEStartDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-334-DDE-Start-Datetime'
              DDEEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-335-DDE-End-Datetime'
              # R022/R023 used in REP003                
              R022allocatedDemandDisconnectionVolumesbySP:
                type: array # array of settlement periods 
                items:
                  $ref: '#/components/schemas/R022'
              R023DDEdailyTotal:
                $ref: '#/components/schemas/R023'

              # R106/R107 used in REP006
              R106UncorrectedDemandDisconnectionEventVolumes:
                type : array
                items:
                  $ref:  '#/components/schemas/R106'
              R107DailyUncorrectedDisconnectionVolumes:
                  $ref:  '#/components/schemas/R107'
        required:
          - demandDisconnectionEventID
          - DDEStartDate
          - DDEEndDate
        

    R068:
        description :  Period Metering Data
        type: object
        additionalProperties:
            false        
        properties:
             MPANCore:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-063-MPAN-Core'
             measurementQuantityID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-052-Measurement-Quantity-ID'
             settlementPeriodID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-307-Settlement-Period-ID'
             periodMeteringSystemMeteredData:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-432-Period-Metering-System-Metered-Data'
             settlementPeriodQualityIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-083-Settlement-Period-Quality-Indicator'
        required:
             - MPANCore
             - measurementQuantityID
             - settlementPeriodID
             - periodMeteringSystemMeteredData
             - settlementPeriodQualityIndicator
        
    R103:
        description :  Settlement Period Duration
        type: object
        properties:
             settlementPeriodDuration:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-484-Settlement-Period-Duration'
        required:
             - settlementPeriodDuration
          
    R0105: 
        description :  Daily volumes on Actuals or Estimates
        type: object
        properties:
             dailyTotalVolumeBasedOnActualData:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-489-Daily-Total-Volume-Based-On-Actual-Data'
             dailyTotalVolumeBasedOnEstimatedData:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-490-Daily-Total-Volume-Based-On-Estimated-Data'
        required:
          - dailyTotalVolumeBasedOnActualData
          - dailyTotalVolumeBasedOnEstimatedData

    R106:
        description :  Uncorrected Demand Disconnection Event Volumes by Supplier BM Unit- parent is R051
        type: object
        properties:
              consumptionComponentClassID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-300-Consumption-Component-Class-ID'   
              settlementPeriodID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-496-Settlement-Period'
              supplierAdvancedDemandDisconnectionVolume:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-336-Supplier-Advanced-Demand-Disconnection-Volume'
              supplierAdvancedDemandDisconnectionVolumeLosses:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-337-Supplier-Advanced-Demand-Disconnection-Volume-Losses'
              BMUnitDemandDisconnectionVolume:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-338-BM-Unit-Demand-Disconnection-Volume'
              BMUnitDemandDisconnectionVolumeLosses:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-339-BM-Unit-Allocated-Demand-Disconnection-Volume-Losses'
        required:
          - consumptionComponentClassID
          - settlementPeriodID
          - supplierAdvancedDemandDisconnectionVolume
          - supplierAdvancedDemandDisconnectionVolumeLosses
          - BMUnitDemandDisconnectionVolume
          - BMUnitDemandDisconnectionVolumeLosses


    R107:
        description: Daily Uncorrected Demand Disconnection Volumes
        type: object
        additionalProperties:
            false        
        properties:
              dailyAdvancedDemandDisconnectionVolume:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-376-Daily-Advanced-Demand-Disconnection-Volume'
              dailyAdvancedDemandDisconnectionVolumeLosses:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-377-Daily-Advanced-Demand-Disconnection-Volume-Losses'
              dailyBMUnitDemandDisconnectionVolume:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-378-Daily-BMU-Demand-Disconnection-Volume'
              dailyBMUnitDemandDisconnectionVolumeLosses:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-379-Daily-BMU-Demand-Disconnection-Volume-Losses'
        required:
          - dailyAdvancedDemandDisconnectionVolume
          - dailyAdvancedDemandDisconnectionVolumeLosses
          - dailyBMUnitDemandDisconnectionVolume
          - dailyBMUnitDemandDisconnectionVolumeLosses



# Blocks for REP002

    R9007:
        description :  Distributor ID 
        type: object
        additionalProperties:
            false        
        required:
            - R027
            - R013list
        properties:
              R027:
                  $ref:  '#/components/schemas/R027'
              R013List:
                type: array
                items:
                    $ref: '#/components/schemas/R9008'


    R9008:
        description :  GSP Group
        type: object
        additionalProperties:
            false        
        properties:
              R013:
                  $ref: '#/components/schemas/R013'
              R010List:
                type: array
                items:
                    $ref: '#/components/schemas/R9010'
        required:
            - R013
            - R010list
                
    R9010: 
        description: R010 - Tariff Characterisitics + child records 
        type: object
        additionalProperties:
            false        
        properties:
          R010: 
            $ref:  '#/components/schemas/R010'
          R011List: 
            type: array
            items:
              $ref:  '#/components/schemas/R011'
          R0105:
              $ref:  '#/components/schemas/R0105'
              
# Blocks for REP002A


    R9006: 
        description: R006 - Supplier + Tariff Characterisitics 
        type: object
        additionalProperties:
            false        
        properties:
          R006: 
            $ref:  '#/components/schemas/R006'
          R010List: 
            type: array
            items:
              $ref:  '#/components/schemas/R9011'

                
    R9011: 
        description: R010 - Tariff Characterisitics + child records A
        type: object
        additionalProperties:
            false        
        properties:
          R010: 
            $ref:  '#/components/schemas/R010'
          R012List: 
            type: array
            items:
              $ref:  '#/components/schemas/R012'
          R0105:
              $ref:  '#/components/schemas/R0105'

# Blocks for REP002B

    R9009: 
        description: R009 extended - Supplier + Tariff Characterisitics 
        type: object
        additionalProperties:
            false        
        properties:
          R009: 
            $ref:  '#/components/schemas/R009'
          R010List: 
            type: array
            items:
              $ref:  '#/components/schemas/R9010'


# Blocks for REP003
                
    R9015:
        description: R015 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          supplier: 
            $ref:  '#/components/schemas/R015'    
          BMUnits: 
              type: array # array of BMUs
              items:
                $ref: '#/components/schemas/R9016'


    R9016:
        description: R016 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          R016BMUnit: 
            $ref:  '#/components/schemas/R016'
          R017consumptionComponentClass:
              type: array
              items:
                  $ref: '#/components/schemas/R9017'
          
          #R019dailyTotal:                          # DIN 471 moved so parent is R017
          #    $ref:  '#/components/schemas/R019'   # DIN 471 moved so parent is R017
          R021dailyTotal:
            $ref: '#/components/schemas/R021'
          R051DDEDetails:
            $ref: '#/components/schemas/R051'



    R9017: 
        description: R017 - extended records 
        type: object
        additionalProperties:
            false        
        properties:
          R017: 
            $ref:  '#/components/schemas/R017'
          R019dailyTotal:                          # DIN 471 moved so parent is R017
              $ref:  '#/components/schemas/R019'   # DIN 471 moved so parent is R017 
          correctAndUncorrectedComponents: 
            type: array
            items:
              $ref:  '#/components/schemas/R018'

# DIN-684 REP003A - blocks R9015A, R9016A & R9020A below for REP003A are new   
# Blocks for REP003A
                
    R9015A:
        description: R015A - extended records
        type: object
        additionalProperties:
            false        
        properties:
          supplier: 
            $ref:  '#/components/schemas/R015'    
          BMUnits: 
              type: array # array of BMUs
              items:
                $ref: '#/components/schemas/R9016A'


    R9016A:
        description: R016 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          R016BMUnit: 
            $ref:  '#/components/schemas/R016'
          R020consumptionComponentClass:
              type: array
              items:
                  $ref: '#/components/schemas/R9020A'
          
          R021dailyTotal:
            $ref: '#/components/schemas/R021'
          R051DDEDetails:
            $ref: '#/components/schemas/R051'



    R9020A: 
        description: R020 Consumption Class- extended records 
        type: object
        additionalProperties:
            false        
        properties:
          R020: 
            $ref:  '#/components/schemas/R020'
          R019dailyTotal:                          
              $ref:  '#/components/schemas/R019'   
          correctAndUncorrectedComponents: 
            type: array
            items:
              $ref:  '#/components/schemas/R018'

              
# Blocks for REP006
                

    R9032:
        description: R032 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          R032BMUnit:
            $ref:  '#/components/schemas/R032'
          R003ECSCCCDeterminationData: 
              type: array
              items:
                  $ref: '#/components/schemas/R9003'

    R9003:
        description: R003 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          ECSCCCDeterminationData: 
            $ref:  '#/components/schemas/R003'
          uncorrectedAggregatedVolumes:
              type: array
              items:
                  $ref: '#/components/schemas/R033'
          dailyTotal:
            $ref: '#/components/schemas/R034'
          
          
# Blocks for REP007
                
    R9013:
        description: R013 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          R013:
            $ref:  '#/components/schemas/R013'
          R036List: 
              description: BMUs pertinent to the GSP
              type: array
              items:
                  $ref: '#/components/schemas/R036'



          
# Blocks for REP009
                

    R9015a:
        description: R015 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          # Supplier
          R015:
            $ref:  '#/components/schemas/R015'
          R9013aList: 
              description: GSPs for the Supplier
              type: array
              items:
                  $ref: '#/components/schemas/R9013a'


    R9013a:
        description: R013 - extended records
        type: object
        additionalProperties:
            false        
        properties:
          R013:
            $ref:  '#/components/schemas/R013'
          R068List: 
              description: Period Metering data for the GSP
              type: array
              items:
                  $ref: '#/components/schemas/R068'


# Blocks for REP900

    R900-01:
        description: LDSO Billing Distributor Info (Mandatory)
        type: object
        additionalProperties:
            false        
        properties:
            distributorID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-029-Distributor-ID'
            distributorRegisteredName:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-520-Distributor-Registered-Name'
            distributorCompanyRegistrationNumber:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-521-Distributor-Company-Registration-Number'
            distributorRegisteredAddressLine1:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-522-Distributor-Registered-Address-Line-1'
            distributorRegisteredAddressLine2:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-523-Distributor-Registered-Address-Line-2'
            distributorRegisteredAddressLine3:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-524-Distributor-Registered-Address-Line-3'
            distributorRegisteredAddressLine4:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-525-Distributor-Registered-Address-Line-4'
            distributorRegisteredAddressLine5:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-526-Distributor-Registered-Address-Line-5'
            distributorRegisteredAddressLine6:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-527-Distributor-Registered-Address-Line-6'
            distributorRegisteredAddressLine7:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-528-Distributor-Registered-Address-Line-7'
            distributorRegisteredAddressLine8:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-529-Distributor-Registered-Address-Line-8'
            distributorRegisteredAddressLine9:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-530-Distributor-Registered-Address-Line-9'
            distributorRegisteredAddressPostcode:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-531-Distributor-Registered-Address-Postcode'
            distributorBillingContactName:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-532-Distributor-Billing-Contact-Name'
            distributorBillingEmail:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-533-Distributor-Billing-Email'
            distributorBillingTelephoneNumber:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-534-Distributor-Billing-Telephone-Number'
            distributorBillingAddressLine1:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-535-Distributor-Billing-Address-Line-1'
            distributorBillingAddressLine2:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-536-Distributor-Billing-Address-Line-2'
            distributorBillingAddressLine3:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-537-Distributor-Billing-Address-Line-3'
            distributorBillingAddressLine4:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-538-Distributor-Billing-Address-Line-4'
            distributorBillingAddressLine5:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-539-Distributor-Billing-Address-Line-5'
            distributorBillingAddressLine6:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-540-Distributor-Billing-Address-Line-6'
            distributorBillingAddressLine7:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-541-Distributor-Billing-Address-Line-7'
            distributorBillingAddressLine8:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-542-Distributor-Billing-Address-Line-8'
            distributorBillingAddressLine9:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-543-Distributor-Billing-Address-Line-9'
            distributorBillingPostcode:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-544-Distributor-Billing-Postcode'
            distributorBankSortCode:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-545-Distributor-Bank-Sort-Code'
            distributorBankAccountNumber:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-546-Distributor-Bank-Account-Number'
            distributorVATRegistrationNumber:                        
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-547-Distributor-VAT-Registration-Number'
        required:
          - distributorID
          - distributorRegisteredName
          - distributorCompanyRegistrationNumber
          - distributorRegisteredAddressLine1
          - distributorRegisteredAddressLine2
          - distributorRegisteredAddressLine3                        
          - distributorRegisteredAddressLine4                        
          - distributorRegisteredAddressLine5                        
          - distributorRegisteredAddressLine6                        
          - distributorRegisteredAddressLine7
          - distributorRegisteredAddressLine8                        
          - distributorRegisteredAddressLine9                      
          - distributorRegisteredAddressPostcode                        
          - distributorBillingContactName
          - distributorBillingEmail
          - distributorBillingTelephoneNumber
          - distributorBillingAddressLine1                        
          - distributorBillingAddressLine2                        
          - distributorBillingAddressLine3                        
          - distributorBillingAddressLine4                        
          - distributorBillingAddressLine5                        
          - distributorBillingAddressLine6                        
          - distributorBillingAddressLine7                        
          - distributorBillingAddressLine8                        
          - distributorBillingAddressLine9                        
          - distributorBillingPostcode                        
          - distributorBankSortCode                        
          - distributorBankAccountNumber                        
          - distributorVATRegistrationNumber 



    R900-02:
        description: R900-02 - LDSO Billing Supplier Info (Mandatory)
        type: object
        additionalProperties:
            false        
        properties:
            supplierMPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-495-Supplier-MPID'
            supplierDIPID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-087-Supplier-DIP-ID'
            LDSOBillingSupplierTradingName:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-548-LDSO-Billing-Supplier-Trading-Name'
            LDSOBillingSupplierVATRegistrationNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-549-LDSO-Billing-Supplier-VAT-Registration-Number'
            LDSOBillingSupplierVATadditionaltext:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-550-LDSO-Billing-Supplier-VAT-additional-text'
            LDSOBillingSupplierBill-ToContactName:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-551-LDSO-Billing-Supplier-Bill-To-Contact-Name'
            LDSOBillingSupplierBill-ToAddressLine1:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-552-LDSO-Billing-Supplier-Bill-To-Address-Line-1'
            LDSOBillingSupplierBill-ToAddressLine2:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-553-LDSO-Billing-Supplier-Bill-To-Address-Line-2'
            LDSOBillingSupplierBill-ToAddressLine3:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-554-LDSO-Billing-Supplier-Bill-To-Address-Line-3'
            LDSOBillingSupplierBill-ToAddressLine4:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-555-LDSO-Billing-Supplier-Bill-To-Address-Line-4'
            LDSOBillingSupplierBill-ToAddressLine5:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-556-LDSO-Billing-Supplier-Bill-To-Address-Line-5'
            LDSOBillingSupplierBill-ToAddressLine6:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-557-LDSO-Billing-Supplier-Bill-To-Address-Line-6'
            LDSOBillingSupplierBill-ToAddressLine7:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-558-LDSO-Billing-Supplier-Bill-To-Address-Line-7'
            LDSOBillingSupplierBill-ToAddressLine8:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-559-LDSO-Billing-Supplier-Bill-To-Address-Line-8'
            LDSOBillingSupplierBill-ToAddressLine9:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-560-LDSO-Billing-Supplier-Bill-To-Address-Line-9'
            LDSOBillingSupplierBill-ToPostcode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-561-LDSO-Billing-Supplier-Bill-To-Postcode'
        required:
            - supplierMPID
            - supplierDIPID
            - LDSOBillingSupplierTradingName
            - LDSOBillingSupplierVATRegistrationNumber
            - LDSOBillingSupplierVATadditionaltext
            - LDSOBillingSupplierBill-ToContactName
            - LDSOBillingSupplierBill-ToAddressLine1
            - LDSOBillingSupplierBill-ToAddressLine2
            - LDSOBillingSupplierBill-ToAddressLine3
            - LDSOBillingSupplierBill-ToAddressLine4
            - LDSOBillingSupplierBill-ToAddressLine5
            - LDSOBillingSupplierBill-ToAddressLine6
            - LDSOBillingSupplierBill-ToAddressLine7
            - LDSOBillingSupplierBill-ToAddressLine8
            - LDSOBillingSupplierBill-ToAddressLine9
            - LDSOBillingSupplierBill-ToPostcode

                
    R900-03:
        description: R900-03 - LDSO Billing Site Info (Mandatory)
        type: object
        additionalProperties:
            false        
        properties:
            LDSOBillingAccountReference:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-563-LDSO-Billing-Account-Reference'
            DUoSTariffID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-345-DUoS-Tariff-ID'
            LDSOBillingSiteID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-565-LDSO-Billing-Site-ID'
            listOfMPANSonsite:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-566-List-Of-MPANS-On-Site'
            misalignedMultiMPANSite:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-567-Misaligned-Multi-MPAN-Site'
            LDSOBillingSiteCapacity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-568-LDSO-Billing-Site-Capacity-'
            LDSOBillingSiteAddressLine1:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-569-LDSO-Billing-Site-Address-Line-1'
            LDSOBillingSiteAddressLine2:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-570-LDSO-Billing-Site-Address-Line-2'
            LDSOBillingSiteAddressLine3:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-571-LDSO-Billing-Site-Address-Line-3'
            LDSOBillingSiteAddressLine4:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-572-LDSO-Billing-Site-Address-Line-4'
            LDSOBillingSiteAddressLine5:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-573-LDSO-Billing-Site-Address-Line-5'
            LDSOBillingSiteAddressLine6:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-574-LDSO-Billing-Site-Address-Line-6'
            LDSOBillingSiteAddressLine7:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-575-LDSO-Billing-Site-Address-Line-7'
            LDSOBillingSiteAddressLine8:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-576-LDSO-Billing-Site-Address-Line-8'
            LDSOBillingSiteAddressLine9:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-577-LDSO-Billing-Site-Address-Line-9'
            LDSOBillingSitePostCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-578-LDSO-Billing-Site-Post-Code'
        required:
            - LDSOBillingAccountReference
            - DUoSTariffID
            - LDSOBillingSiteID
            - listOfMPANSonsite
            - misalignedMultiMPANSite
            - LDSOBillingSiteCapacity
            - LDSOBillingSiteAddressLine1
            - LDSOBillingSiteAddressLine2
            - LDSOBillingSiteAddressLine3
            - LDSOBillingSiteAddressLine4
            - LDSOBillingSiteAddressLine5
            - LDSOBillingSiteAddressLine6
            - LDSOBillingSiteAddressLine7
            - LDSOBillingSiteAddressLine8
            - LDSOBillingSiteAddressLine9
            - LDSOBillingSitePostCode
        

    R900-04:
        description: R900-04 - LDSO Billing Site Info (Mandatory)
        type: object
        additionalProperties:
            false        
        properties:
            LDSOBillingInvoiceType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-580-LDSO-Billing-Invoice-Type'
            taxPointDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-581-Tax-Point-Date'
            invoiceDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-582-Invoice-Date'
            invoiceDueDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-583-Invoice-Due-Date'
            LDSOBilingInvoiceNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-584-LDSO-Biling-Invoice-Number'
            siteSpecificDUoSInvoiceType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-585-Site-Specific-DUoS-Invoice-Type'
            LDSOBillingCancelledInvoiceNumber:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-586-LDSO-Billing-Cancelled-Invoice-Number'
            cancelledInvoiceDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-587-Cancelled-Invoice-Date'
            chargePeriodStartDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-588-Charge-Period-Start-Date'
            chargePeriodEndDate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-589-Charge-Period-End-Date'
            maximumDemandInTheInvoicePeriod:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-590-Maximum-Demand-In-The-Invoice-Period'
            maximumDemandInTheInvoicePeriodDateTime:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-591-Maximum-Demand-In-The-Invoice-Period-Date-Time'
            totalInvoiceAmountExVAT:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-592-Total-Invoice-Amount-Ex-VAT'
            totalInvoiceVAT:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-593-Total-invoice-VAT'
            totalInvoiceAmountIncVAT:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-594-Total-Invoice-Amount-Inc-VAT'
        required:
            - LDSOBillingInvoiceType
            - taxPointDate
            - invoiceDate
            - invoiceDueDate
            - LDSOBilingInvoiceNumber
            - siteSpecificDUoSInvoiceType
            - LDSOBillingCancelledInvoiceNumber
            - cancelledInvoiceDate
            - chargePeriodStartDate
            - chargePeriodEndDate
            - maximumDemandInTheInvoicePeriod
            - maximumDemandInTheInvoicePeriodDateTime
            - totalInvoiceAmountExVAT
            - totalInvoiceVAT
            - totalInvoiceAmountIncVAT
        
      
      
    R900-05:
        description: R900-05 - Invoice Lines
        type: object
        additionalProperties:
            false        
        properties:
            chargeType:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-596-Charge-Type'
            numberOfDaysBilled:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-597-Number-Of-Days-Billed'
            quantity:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-598-Quantity'
            price:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-599-Price'
            totalChargeForChargeTypeExVAT:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-600-Total-Charge-For-Charge-Type-Ex-VAT'
            VATRateCode:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-601-VAT-Rate-Code'
            VATRate:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-602-VAT-Rate'
        required:
            - chargeType
            - numberOfDaysBilled
            - quantity
            - price
            - totalChargeForChargeTypeExVAT
            - VATRateCode
            - VATRate
        
# Blocks for REP901

    R901-01:
        description: Distributor / GSP Group ID (Mandatory)
        type: object
        additionalProperties:
            false
        required:
            - distributorID
            - GSPGroupID
        properties:
            distributorID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-029-Distributor-ID'
            GSPGroupID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-037-GSP-Group-ID'
            
    R901-02:
        description: Settlement Run Info (Mandatory)
        type: object
        additionalProperties:
            false   
        required:
          - settlementCode
          - runNumber
        properties:
            settlementCode:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-160-Settlement-Code'
            runNumber:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-161-Run-Number'



                  
    R901-03:
        description: UTC Settlement Date  (Mandatory)
        type: object
        additionalProperties:
            false 
        required:
          - settlementDate
        properties:
            settlementDate:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-305-Settlement-Date'
            R904-R905:
              oneOf:
                  - $ref: '#/components/schemas/R901-04List'
                  - $ref: '#/components/schemas/R901-05List'


    R901-04:
        description: Supplier ID  (Mandatory)
        type: object
        additionalProperties:
            false        
        required: 
          - supplierDIPID
        properties:
            supplierDIPID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-087-Supplier-DIP-ID'
            supplierMPID:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-495-Supplier-MPID'
            dailyTotalList:
                  $ref: '#/components/schemas/R901-06'


    R901-04List:
        description: LDSO list
        type: array
        items: 
            $ref: '#/components/schemas/R901-04'


    R901-05:
        description: Embedded LDSO ID  (Mandatory)
        type: object
        additionalProperties:
            false        
        properties:
            embeddedLDSOID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-483-Embedded-LDSO-ID'
            dailyTotalList:
                  $ref: '#/components/schemas/R901-06'

    R901-05List:
        description: LDSO list
        type: array
        items: 
            $ref: '#/components/schemas/R901-05'

                  
    R901-06:
        description: Daily Totals 
        type: object
        additionalProperties:
            false        
        properties:
            dailyTotalMSIDCount:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-608-Daily-Total-MSID-Count'                
            dailyTotalMSIDCharge:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-609-Daily-Total-MSID-Charge'                
            dailyTotalUnitVolume:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-610-Daily-Total-Unit-Volume'                
            dailyTotalUnitCharge:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-611-Daily-Total-Unit-Charge'  
            R901-07List:
              description: Tariff Characteristics list
              type: array
              items: 
                  $ref: '#/components/schemas/R901-07'
            

    R901-07:
        description: Tariff Characteristics 
        type: object
        additionalProperties:
            false        
        properties:
            DUoSTariffID:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-345-DUoS-Tariff-ID'
            energyDirection:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-035-Energy-Direction'
            domesticPremiseIndicator:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-030-Domestic-Premise-Indicator'
            dailyTariffNumberOfMSIDs:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-603-Daily-Tariff-Number-Of-MSIDs'
            dailyTariffMSIDCharge:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-604-Daily-Tariff-MSID-Charge'
            chargeBand:
                $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-605-Charge-Band'
            dailyUncorrectedVolumeForChargeBand:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-606-Daily-Uncorrected-Volume-For-Charge-Band'
            totalVolumeChargeForChargeBand:
                  $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-607-Total-Volume-Charge-For-Charge-Band'
            R901-08List:
              description: Charge Bandlist
              type: array
              items: 
                  $ref: '#/components/schemas/R901-08'

    R901-08:
        type: object
        additionalProperties:
            false        
        properties:
          chargeBand:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-605-Charge-Band'
          dailyUncorrectedVolumeForChargeBand:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-606-Daily-Uncorrected-Volume-For-Charge-Band'
          totalVolumeChargeForChargeBand:
              $ref: 'https://api.swaggerhub.com/domains/MHHSPROGRAMME/DataCatalogue/1.6#/components/schemas/DI-607-Total-Volume-Charge-For-Charge-Band'

                


# END #